//不使用less
// const { override,fixBabelImports} = require("customize-cra");
// module.exports = override(
// 	fixBabelImports("import", {
//     	libraryName: "antd",
//     	libraryDirectory: "es",
//     	style: 'css' // 另外一位作者这个写法可能不依赖less less-loader
//   	}),
//   	(config)=>{  		
//   		return config;
//   	}
// );

const { override,fixBabelImports,addLessLoader,adjustStyleLoaders } = require('customize-cra');
  
module.exports = override(
    // 针对antd 实现按需打包：根据import来打包 (使用babel-plugin-import)
    fixBabelImports('import', {
        libraryName: 'antd',
        libraryDirectory: 'es',
        style: true   //自动打包相关的样式 默认为 style:'css'，改成true支持antd less
    }),
    // 使用less-loader对源码中的less的变量进行重新制定，设置antd自定义主题
    addLessLoader({  
        javascriptEnabled: true,
        modifyVars: { '@primary-color': '#1DA57A' },
        sourceMap:true,
    }),
    adjustStyleLoaders(({ use: [ , css] }) => {
        css.options.sourceMap = true;
        css.options.modules = {
            // 配置默认的样式名称规则
            localIdentName:'[name]__[local]--[hash:base64:5]',
            getLocalIdent:(loaderContext, localIdentName, localName, options) => {
                // 处理antd 的样式
                if (loaderContext.resourcePath.includes('node_modules')) {
                    return localName;
                }       
            }
        } 
    })
)
